Skip to main content

Batch Management - Control Merchant Settlements

Introduction

By default, payment processing creates one settlement (deposit) per merchant location, per day. This default setting ignores the number of batches being submitted. However, you can control the number of settlements desired with the Batch Management feature. Be sure to speak with your Implementation Coordinator if this is desired, as there are back office settings that must be configured to ensure that your merchants are set up properly to facilitate multiple settlements.

For example, consider the following scenario: For "Merchant A," you want a different settlement per every 10 transactions on "Location 1" each day. You would control that by creating a batch for "Location 1" and defining a custom batch number. You would then begin placing transactions into that batch using the custom batch number until you reach 10 transactions in the batch. Then, close that batch and create a new one with a new custom batch number on "Location 1" to place the next 10 transactions in. Repeat this process throughout the day. If you create 5 different batches that processed for the day, the result would be 5 different settlements (deposits) for "Location 1".

Getting Started

Each step in the workflow diagram is a hyperlink that will take you to the API reference information for the method being used.

Tasks covered in this guide

  • Before you begin: Contact your Implementation Coordinator to add Merchant Settlement per Batch to your setup.

  • Step 1: Open a new batch

  • Step 2: Add items into the open batch

  • Step 3: Close the batch once the desired # of transactions has been reached

  • Step 4: Repeat steps 1-3 for more batches/settlements

JHA SmartPay Transaction Processing™ - Batch Management - Control Batch Merchant Settlements Workflow
Batch Management - Control Batch Close Times Workflow
Integrator Flow
EPS WebService Flow

EPS Web Service

1.


2.


3.


4.


5.

 

 

Create a new batch

Step 1: Create a batch using either Create Processing Batch or Create Processing Batch With Deposit Slip Aux On Us.

Send a CreateProcessingBatch Request or send a CreateProcessingBatchWithDepositSlipAuxOnUsRequest

note
  • Supply the necessary values according to the request reference, such as the unique BatchNumber.

CreateProcessingBatch Request Example

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<CreateProcessingBatch xmlns="https://ssl.selectpayment.com/PV">
<storeId>123456</storeId>
<storeKey>XXXXXXXX</storeKey>
<entityId>12345</entityId>
<locationId>102030</locationId>
<terminalNumberIfKnown>__WebService</terminalNumberIfKnown>
<batchNumberToCreate>123</batchNumberToCreate>
<autoCloseDateTime>2010-11-26T19:00:00</autoCloseDateTime>
<isAutoCloseDateTimeRequired>0</isAutoCloseDateTimeRequired>
</CreateProcessingBatch>
</soap:Body>
</soap:Envelope>

CreateProcessingBatch Request Example

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<CreateProcessingBatchResponse xmlns="https://ssl.selectpayment.com/PV">
<CreateProcessingBatchResult>
<returnValue>Success</returnValue>
<message>Operation successful</message>
</CreateProcessingBatchResult>
</CreateProcessingBatchResponse>
</soap:Body>
</soap:Envelope>
Begin adding items into the open batch

Step 2: Add items to the open batch

Send an AuthorizeTransaction Request

note
  • Items within a batch are grouped together as a single settlement amount for each batch, using this workflow.

AuthorizeTransaction Request Example

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:pv="https://ssl.selectpayment.com/PV">
<soapenv:Header/>
<soapenv:Body>
<pv:AuthorizeTransaction>
<pv:storeId>123456</pv:storeId>
<pv:storeKey>XXXXXXXX </pv:storeKey>
<pv:transaction>
<pv:EntityId>12345</pv:EntityId>
<pv:LocationId>102030</pv:LocationId>
<pv:PaymentOrigin>Telephone_IVR</pv:PaymentOrigin>
<pv:AccountType>Checking</pv:AccountType>
<pv:OperationType>Auth</pv:OperationType>
<pv:SettlementType>ACH</pv:SettlementType>
<pv:EffectiveDate>2011-02-21</pv:EffectiveDate>
<pv:Description></pv:Description>
<pv:TotalAmount>56.34</pv:TotalAmount>
<pv:Sale></pv:Sale>
<pv:ConvenienceFeeAmount></pv:ConvenienceFeeAmount>
<pv:TerminalNumber>__WebService</pv:TerminalNumber>
<pv:TransactionNumber>1020</pv:TransactionNumber>
<pv:Field1></pv:Field1>
<pv:Field2></pv:Field2>
<pv:Field3></pv:Field3>
<pv:CheckMICRLine></pv:CheckMICRLine>
<pv:CheckMICRSymbolSet></pv:CheckMICRSymbolSet>
<pv:RoutingNumber>111000025</pv:RoutingNumber>
<pv:AccountNumber>5637492437</pv:AccountNumber>
<pv:CheckNumber></pv:CheckNumber>
<pv:SwipeTrack1></pv:SwipeTrack1>
<pv:SwipeTrack2></pv:SwipeTrack2>
<pv:SwipeTrack3></pv:SwipeTrack3>
<pv:IsBusinessPayment>0</pv:IsBusinessPayment>
<pv:NameOnAccount>Susan Doyle</pv:NameOnAccount>
<pv:BillingAddress1></pv:BillingAddress1>
<pv:BillingAddress2></pv:BillingAddress2>
<pv:BillingCity></pv:BillingCity>
<pv:BillingStateRegion></pv:BillingStateRegion>
<pv:BillingPostalCode></pv:BillingPostalCode>
<pv:BillingCountry></pv:BillingCountry>
<pv:BillingPhone></pv:BillingPhone>
<pv:IpAddressOfOriginator></pv:IpAddressOfOriginator>
<pv:EmailAddress></pv:EmailAddress>
<pv:SSN></pv:SSN>
<pv:DLState></pv:DLState>
<pv:DLNumber></pv:DLNumber>
<pv:CheckFrontImageBytes_TiffG4></pv:CheckFrontImageBytes_TiffG4>
<pv:CheckRearImageBytes_TiffG4></pv:CheckRearImageBytes_TiffG4>
<pv:OptionalThirdImageBytes_TiffG4></pv:OptionalThirdImageBytes_TiffG4>
<pv:OptionalThirdImageDescription></pv:OptionalThirdImageDescription>
</pv:transaction>
</pv:AuthorizeTransaction>
</soapenv:Body>
</soapenv:Envelope>

AuthorizeTransaction Response Example

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<AuthorizeTransactionResponse xmlns="https://ssl.selectpayment.com/PV">
<AuthorizeTransactionResult>
<ReferenceNumber>T:5JVMJPT3A5G</ReferenceNumber>
<Success>true</Success>
<Error>false</Error>
<ResponseCode>Success</ResponseCode>
<ActualDate>2011-02-21T15:33:31.1548063-06:00</ActualDate>
<ResponseMessage/>
<OriginatedAs>ACH</OriginatedAs>
</AuthorizeTransactionResult>
</AuthorizeTransactionResponse>
</soap:Body>
</soap:Envelope>
Close the processing batch

Step 3: Close the batch once the desired # of transactions has been reached

Send a CloseProcessingBatch Request

CloseProcessingBatch Request Example

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:pv="https://ssl.selectpayment.com/PV">
<soapenv:Header/>
<soapenv:Body>
<pv:CloseProcessingBatch>
<storeId>123456</storeId>
<storeKey>XXXXXXXX</storeKey>
<entityId>12345</entityId>
<pv:batchNumber>123</pv:batchNumber>
</pv:CloseProcessingBatch>
</soapenv:Body>
</soapenv:Envelope>

CloseProcessingBatch Response Example

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<CloseProcessingBatchResponse xmlns="https://ssl.selectpayment.com/PV">
<CloseProcessingBatchResult>
<returnValue>Success</returnValue>
<message>Operation successful</message>
</CloseProcessingBatchResult>
</CloseProcessingBatchResponse>
</soap:Body>
</soap:Envelope>

Step 4: Repeat Steps 1-3 for more batches/settlements

As necessary, add additional settlements (deposits) by repeating steps 1-3.

note
  • If any of the batches are left open, they will be automatically closed and processed at the next scheduled cutoff time unless you use the AutoClose DateTime field to keep them open.

See Batch Management - Control Batch Close Times for more information regarding those settings.

Next steps
  • Review the API Reference

Please review the API Reference to see all APIs and their technical specifications.

  • Explore other guides

We have other guides to show how to leverage our APIs in other common use cases so if this one doesn’t cover what you are looking for, give another guide a try. If your situation or question is not covered in the current guide, consult another resource.